20260506 Backup

This commit is contained in:
2026-05-06 23:52:18 +00:00
parent 0bc354d095
commit 91f9b91ef8
94 changed files with 1827 additions and 582 deletions

View File

@@ -63,7 +63,7 @@
}
},
"props": {
"address": "172.30.47.17",
"address": "172.30.47.14",
"device": {},
"geolocation": {},
"locale": "en-US",

View File

@@ -7,10 +7,10 @@
"props.json"
],
"attributes": {
"lastModificationSignature": "98fdd0962800ce601ab1f48547957af5bcea1c517732a2f99b9ee082de499f4f",
"lastModificationSignature": "3fe74b502c56ad14e24d1efd8f2459cd942a317583e98ac3718603fe26d7cf6d",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-05T22:26:44Z"
"actor": "Aldo",
"timestamp": "2026-05-06T22:03:29Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "bcf333bf089de0cfe214f374e124ca53543cb3ad85989c3af3d56b8c172a2701",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-06T18:12:40Z"
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,188 @@
{
"custom": {
"allTags": [
{
"dataType": "Boolean",
"instancePosition": {},
"instanceStyle": {
"classes": ""
},
"name": "Alarms Enabled",
"tagPath": "[default]_types_/Objects/Air/DOAS/Meta/Alarms Enabled"
},
{
"dataType": "String",
"instancePosition": {},
"instanceStyle": {
"classes": ""
},
"name": "Level",
"tagPath": "[default]_types_/Objects/Air/DOAS/Meta/Level"
},
{
"dataType": "DateTime",
"instancePosition": {},
"instanceStyle": {
"classes": ""
},
"name": "Maintenance Expiration",
"tagPath": "[default]_types_/Objects/Air/DOAS/Meta/Maintenance Expiration"
},
{
"dataType": "String",
"instancePosition": {},
"instanceStyle": {
"classes": ""
},
"name": "Power Domain",
"tagPath": "[default]_types_/Objects/Air/DOAS/Meta/Power Domain"
},
{
"dataType": "String",
"instancePosition": {},
"instanceStyle": {
"classes": ""
},
"name": "Program",
"tagPath": "[default]_types_/Objects/Air/DOAS/Meta/Program"
},
{
"dataType": "String",
"instancePosition": {},
"instanceStyle": {
"classes": ""
},
"name": "Room Number",
"tagPath": "[default]_types_/Objects/Air/DOAS/Meta/Room Number"
},
{
"dataType": "String",
"instancePosition": {},
"instanceStyle": {
"classes": ""
},
"name": "Site",
"tagPath": "[default]_types_/Objects/Air/DOAS/Meta/Site"
},
{
"dataType": "String",
"instancePosition": {},
"instanceStyle": {
"classes": ""
},
"name": "Source Gateway",
"tagPath": "[default]_types_/Objects/Air/DOAS/Meta/Source Gateway"
},
{
"dataType": "String",
"instancePosition": {},
"instanceStyle": {
"classes": ""
},
"name": "Zone",
"tagPath": "[default]_types_/Objects/Air/DOAS/Meta/Zone"
}
]
},
"params": {
"auth": {
"almAck": true,
"almShelve": true,
"config": true,
"control": true
},
"tagPath": "[default]_types_/Objects/Air/DOAS/Meta"
},
"propConfig": {
"custom.allTags": {
"binding": {
"config": {
"struct": {
"tagPath": "{view.params.tagPath}"
},
"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 Meta",
"style": {
"border": "1px solid var(--border)",
"gap": "10px 0",
"padding": "10px"
},
"useDefaultViewHeight": false,
"useDefaultViewWidth": false,
"wrap": "wrap"
},
"type": "ia.display.flex-repeater"
}
],
"meta": {
"name": "root"
},
"props": {
"direction": "column",
"style": {
"classes": "containers/padded-container"
}
},
"type": "ia.container.flex"
}
}

View File

@@ -8,10 +8,10 @@
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "86e4e97ef521f778e9a87ccefdf7ad3d7de090b63967181a6d7ada9a8a20564d",
"lastModificationSignature": "906fd0084ea0e7506a05c39b77ddeee3976fc1dc1e745f8f6d38a90d311bb1e5",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-05T21:00:28Z"
"timestamp": "2026-05-06T18:10:22Z"
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -309,75 +309,45 @@
},
{
"meta": {
"name": "Map"
"name": "DateTimeInput"
},
"position": {
"height": 400,
"width": 400,
"x": 141.5,
"y": 187.5
"height": 32,
"width": 170,
"x": 220,
"y": 99
},
"props": {
"init": {
"center": {
"lat": 38.660867,
"lng": -121.159728
},
"zoom": 12
},
"layers": {
"raster": {
"tile": [
"propConfig": {
"custom.key": {
"binding": {
"config": {
"path": "this.props.value"
},
"transforms": [
{
"WMS": {
"format": "image/jpeg",
"layers": "",
"styles": "",
"transparent": false,
"uppercase": false,
"version": "1.1.1"
},
"options": {
"attribution": "Map data \u0026copy; \u003ca href\u003d\u0027https://www.openstreetmap.org/\u0027\u003eOpenStreetMap\u003c/a\u003e contributors, \u003ca href\u003d\u0027https://creativecommons.org/licenses/by-sa/2.0/\u0027\u003eCC-BY-SA\u003c/a\u003e",
"crossOrigin": false,
"detectRetina": false,
"errorTileUrl": "",
"opacity": 1,
"subdomains": [
"a",
"b",
"c"
],
"tileSize": {
"height": 256,
"width": 256
},
"tms": false,
"update": {
"interval": 200,
"whenIdle": false,
"whenZooming": true
},
"zIndex": 1,
"zoom": {
"max": 18,
"min": 0,
"native": {
"max": null,
"min": null
},
"offset": 0,
"reverse": false
}
},
"url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
"urlTemplateParams": {}
"expression": "datediff(now(), {value}, \"Hour\")",
"type": "expression"
}
]
],
"type": "property"
}
},
"props.value": {
"binding": {
"config": {
"bidirectional": true,
"fallbackDelay": 2.5,
"mode": "direct",
"tagPath": "[default]simulator/DOAS/DOAS1/Maintenance/Expiration Date"
},
"type": "tag"
}
}
},
"type": "ia.display.map"
"props": {
"formattedValue": "Jul 17, 2026 12:00 AM"
},
"type": "ia.input.date-time-input"
}
],
"meta": {

View File

@@ -8,10 +8,10 @@
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "78e8bd448405eaf84b9c2f186f6798c4ca620ed85fdec483434b05ea8f48463e",
"lastModificationSignature": "0b92a1bc639e55cf07832f5a443455c38d235c4f07f54c19094d414af35fd5da",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-16T13:38:08Z"
"timestamp": "2026-05-06T20:18:43Z"
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -248,7 +248,7 @@
"loading": {
"order": "with-parent"
},
"path": "Library/Templates/Framework/Pen",
"path": "Library/Framework/Pen",
"style": {
"marginLeft": "10px",
"marginTop": "5px",

View File

@@ -8,10 +8,10 @@
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "8fbac10ba880d8528caada026330f7f2e0d0be7301f3beea50811e52bd5e5c49",
"lastModificationSignature": "e299c66803f438afe471a4b8dd56fa1c6295b012dfb3b21b0cbe288781028728",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-22T23:25:46Z"
"timestamp": "2026-05-06T15:51:00Z"
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 748 B

After

Width:  |  Height:  |  Size: 950 B

View File

@@ -1,13 +1,13 @@
{
"custom": {},
"params": {
"dataType": "Int4",
"dataType": "String",
"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",
"tagPath": "[default]simulator/DOAS/DOAS1/Power Domain",
"visible": true
},
"propConfig": {

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "a5c7f9042e3782aa74cdb6a968887ff0a1c3f402bd20e29bf33f63aa23be8283",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-06T15:50:54Z"
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,183 @@
{
"custom": {},
"params": {
"dataType": "String",
"enabled": true,
"max": 9999,
"min": -9999,
"name": "Int",
"options": [],
"tagPath": "[default]simulator/DOAS/DOAS1/Meta/Power Domain",
"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": 399
}
},
"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.tagPath"
},
"transforms": [
{
"code": "\tif value is None:\n\t\treturn \"Null value\"\n\treturn value.split(\u0027/\u0027)[-1]",
"type": "script"
}
],
"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": "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"
}
}

View File

@@ -8,10 +8,10 @@
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "7ed66bc2dc884267ddb31033b5967fc8da843f9e2c9fc23ec9f2f02e735afb53",
"lastModificationSignature": "ee62646db99d1a0454a8e106c4786639bd3df1976ed153cee846fa1bfef894f6",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-01T21:41:30Z"
"timestamp": "2026-05-06T14:13:22Z"
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -339,7 +339,7 @@
"label": "Lead Lag"
}
],
"label": "Skid details"
"label": "Chiller Package"
},
{
"data": {
@@ -551,6 +551,16 @@
"expanded": false,
"items": [],
"label": "UPS"
},
{
"data": {
"GoTo": "",
"target": "Pages/Dashboards/UPS",
"zoom": ""
},
"expanded": false,
"items": [],
"label": "Cellwatch"
}
],
"label": "Electrical"
@@ -565,6 +575,16 @@
"items": [],
"label": "Fire System"
},
{
"data": {
"GoTo": "FS",
"target": "Library/Layouts/Equipment_L3",
"zoom": ""
},
"expanded": false,
"items": [],
"label": "Plumbing"
},
{
"data": {
"GoTo": "",

View File

@@ -8,10 +8,10 @@
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "695b95d114baf3a9a0b0eb2e75a1099b7908ae014998ce6d2bb0625f870b8009",
"lastModificationSignature": "5f8159ec4dbc5e404621372a6fe30a06ce4d595d629c50752b776033f4189c25",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-05T22:26:26Z"
"timestamp": "2026-05-06T18:30:14Z"
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

@@ -1,10 +1,131 @@
{
"custom": {},
"custom": {
"data": [
{
"engUnit": "Int4",
"tagName": "Compressor A Signal"
},
{
"engUnit": "Int4",
"tagName": "Compressor B Signal"
},
{
"engUnit": "Int4",
"tagName": "Condenser A Signal"
},
{
"engUnit": "Int4",
"tagName": "Condenser B Signal"
},
{
"engUnit": "Float4",
"tagName": "Modulating Heat Position"
},
{
"engUnit": "Float4",
"tagName": "Modulating Hot Gas Reheat Valve Position"
},
{
"engUnit": "Float4",
"tagName": "Outside Air Humidity"
},
{
"engUnit": "Float4",
"tagName": "Return Air Humidity"
},
{
"engUnit": "Float4",
"tagName": "Building Pressure"
},
{
"engUnit": "Float4",
"tagName": "Compressor Runtime"
},
{
"engUnit": "Float4",
"tagName": "Fan Runtime"
},
{
"engUnit": "Boolean",
"tagName": "Compressor A Enabled"
},
{
"engUnit": "Boolean",
"tagName": "Compressor B1 Enabled"
},
{
"engUnit": "Boolean",
"tagName": "Compressor B2 Enabled"
},
{
"engUnit": "Boolean",
"tagName": "Economizer Enabled Status"
},
{
"engUnit": "Boolean",
"tagName": "Exhaust Fan Status"
},
{
"engUnit": "Boolean",
"tagName": "Heating Enabled Status"
},
{
"engUnit": "Boolean",
"tagName": "Remote Forced Occupied Status"
},
{
"engUnit": "Boolean",
"tagName": "Supply Fan Status"
},
{
"engUnit": "Float4",
"tagName": "Discharge A Pressure"
},
{
"engUnit": "Float4",
"tagName": "Discharge B Pressure"
},
{
"engUnit": "Float4",
"tagName": "Outdoor Air Dewpoint"
},
{
"engUnit": "Float4",
"tagName": "Outside Air Temperature"
},
{
"engUnit": "Float4",
"tagName": "Return Air Temperature"
},
{
"engUnit": "Float4",
"tagName": "Supply Air Dewpoint"
},
{
"engUnit": "Float4",
"tagName": "Supply Air Temperature"
}
]
},
"params": {
"deviceDataset": "[default]Device Datasets/VM/Info",
"tagPath": "[PHXA2_IG_COMN]HE1138/PHXA2_UPS_BATT_VM_HS1"
"deviceDataset": "[default]Device Datasets/DOAS",
"tagPath": "[default]simulator/DOAS/DOAS1"
},
"propConfig": {
"custom.data": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"deviceDataset": "{view.params.deviceDataset}"
},
"tagPath": "{deviceDataset}/Info"
},
"type": "tag"
},
"persistent": true
},
"params.deviceDataset": {
"paramDirection": "input",
"persistent": true
@@ -28,12 +149,7 @@
"props.instances": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"deviceDataset": "{view.params.deviceDataset}"
},
"tagPath": "{deviceDataset}"
"path": "view.custom.data"
},
"transforms": [
{
@@ -41,7 +157,7 @@
"type": "script"
}
],
"type": "tag"
"type": "property"
}
}
},
@@ -54,7 +170,7 @@
"loading": {
"order": "with-parent"
},
"path": "Library/Templates/Framework/Tag Info",
"path": "Library/Framework/Tag Info",
"style": {
"border": "1px solid var(--border)",
"gap": "10px 0",

View File

@@ -8,10 +8,10 @@
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "eb37a28f2d2d96ae3f898da1f2f71afc5d66d7cb3d04d32825e7fd30c0f58cd4",
"lastModificationSignature": "27fb7e9b953fc10096981fe693b2934461e81830bf7d83c41135e2f26d6e6171",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-02T02:11:33Z"
"timestamp": "2026-05-06T18:12:57Z"
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,172 +1,11 @@
{
"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"
}
]
},
"custom": {},
"params": {
"auth": {
"almAck": true,
"almShelve": true,
"config": true,
"control": true
},
"tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS"
"deviceDataset": "[default]Device Datasets/DOAS/Meta",
"tagPath": "[default]simulator/DOAS/DOAS1"
},
"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": {
"params.deviceDataset": {
"paramDirection": "input",
"persistent": true
},
@@ -189,20 +28,20 @@
"props.instances": {
"binding": {
"config": {
"struct": {
"allTags": "{view.custom.allTags}",
"auth": "{view.params.auth.config}",
"tagPath": "{view.params.tagPath} + \"/Meta/\""
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"deviceDataset": "{view.params.deviceDataset}"
},
"waitOnAll": true
"tagPath": "{deviceDataset}"
},
"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",
"code": "\treturn Global.DeviceDatasets.getTagInstances(deviceDataset\u003dvalue, tagPath\u003dself.view.params.tagPath, folder\u003d \"/Meta\")",
"type": "script"
}
],
"type": "expr-struct"
"type": "tag"
}
}
},
@@ -215,7 +54,7 @@
"loading": {
"order": "with-parent"
},
"path": "Library/Framework/Tag Config",
"path": "Library/Framework/Tag Meta",
"style": {
"border": "1px solid var(--border)",
"gap": "10px 0",

View File

@@ -8,10 +8,10 @@
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "cf296d8312679dc8017fab8f997596f5a6a6b75084b0626685cc1227dc8a0288",
"lastModificationSignature": "fcb289027b2b4e6421001df6f80bd770727c1f2dd8e4f0bb366f38479f83e0ba",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-02T02:11:33Z"
"timestamp": "2026-05-06T20:18:41Z"
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View File

@@ -4,7 +4,7 @@
},
"params": {
"selectedPens": [],
"tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES02_MOV51"
"tagPath": "[default]simulator/DOAS/DOAS1"
},
"propConfig": {
"custom.trendConfig": {
@@ -105,7 +105,7 @@
"loading": {
"order": "with-parent"
},
"path": "Library/Templates/Framework/Pen List",
"path": "Library/Framework/Pen List",
"useDefaultViewHeight": false,
"useDefaultViewWidth": false
},