242 lines
8.0 KiB
Plaintext
242 lines
8.0 KiB
Plaintext
{
|
|
"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"
|
|
}
|
|
} |