{ "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" } }