{ "custom": { "activityLogger": { "alt_pageid": "card_view", "start_time": { "$": [ "ts", 192, 1746012819449 ], "$ts": 1746012819449 } } }, "events": { "system": { "onShutdown": { "config": { "script": "\tactivityLog.logger.callLogger(self, \u0027page\u0027)\n\tactivityLog.productMetrics.callLogger(self, \u0027page\u0027)" }, "scope": "G", "type": "script" }, "onStartup": { "config": { "script": "\tself.custom.activityLogger.start_time \u003d system.date.now()" }, "scope": "G", "type": "script" } } }, "params": { "page_name": "Home" }, "propConfig": { "custom.activityLogger": { "persistent": true }, "custom.activityLogger.pageid": { "binding": { "config": { "expression": "{page.props.path}" }, "transforms": [ { "code": "\tif value \u003d\u003d\u0027/\u0027 or value \u003d\u003d \u0027\u0027 or value \u003d\u003d None:\n\t\treturn self.custom.activityLogger.alt_pageid.lower()\n\telse:\n\t\treturn value[1:].lower()", "type": "script" } ], "type": "expr" } }, "params.page_name": { "paramDirection": "input", "persistent": true } }, "props": { "defaultSize": { "height": 1080, "width": 1920 } }, "root": { "children": [ { "meta": { "name": "FlexRepeater" }, "position": { "basis": "1080px" }, "props": { "alignContent": "flex-start", "alignItems": "flex-start", "elementPosition": { "grow": 0, "shrink": 0 }, "path": "Symbol-Views/Controller-Views/ControllerStatus", "style": { "overflow": "visible" }, "wrap": "wrap" }, "type": "ia.display.flex-repeater" } ], "custom": { "Devices": [ "ARSAW1301", "PLC03", "ARSAW1302", "PLC01", "PLC02", "PLC98", "ARSAW1305", "ARSAW1503", "PLC08", "PLC99", "ARSAW1306", "ARSAW1504", "ARSAW1501", "ARSAW1303", "PLC06", "PLC07", "ARSAW1304", "ARSAW1502", "ARSAW1309", "ARSAW1507", "ARSAW1508", "PLC09", "ARSAW1307", "ARSAW1505", "ARSAW1308", "ARSAW1506", "PLC20", "ARSAW1509", "PLC14", "PLC80", "PLC81", "PLC82", "PLC16", "FSC10", "PLC21", "PLC22", "PLC69", "PLC25", "PLC26", "PLC23", "PLC24", "PLC97", "PLC27", "PLC61", "PLC60", "PLC1000", "PLC13", "ARSAW1312", "ARSAW1510", "ARSAW1511", "ARSAW1310", "ARSAW1311", "ARSAW1512", "PLC70", "PLC71", "PLC32", "PLC30", "PLC31", "PLC15" ], "count": "value", "delay": 2000, "run_update": true }, "events": { "system": { "onStartup": [ { "config": { "script": "\tVisualisation.home_page.create_home_page(self)" }, "scope": "G", "type": "script" }, { "config": { "script": "\twhid \u003d self.session.custom.fc\n\tsession_id \u003d self.session.props.id\n\tpage_id \u003d self.view.params.page_name\n\tCommands.analytics.send_page_details(whid, session_id, page_id)" }, "scope": "G", "type": "script" } ] } }, "meta": { "name": "root" }, "propConfig": { "custom.update": { "binding": { "config": { "expression": "now({this.custom.delay})" }, "type": "expr" }, "onChange": { "enabled": null, "script": "\n if (self.session.custom.fc \u003d\u003d \u0027\u0027) or (self.session.custom.fc is None):\n \tself.getChild(\"FlexRepeater\").props.instances \u003d []\n \treturn\n \n if self.custom.run_update:\n \tVisualisation.home_page.update_home_status(self)\n# system_tags \u003d system.tag.readBlocking([\"Configuration/FC\", \"System/ActiveAlarms\"])\n# tag_provider \u003d \"[%s_SCADA_TAG_PROVIDER]\" % (system_tags[0].value)\n# status_decoded \u003d system.util.jsonDecode(self.session.custom.id_to_state)\n# if status_decoded:\n#\t values \u003d []\n#\t devices \u003d self.custom.Devices\n#\t for i in devices:\n#\t \tvalue \u003d status_decoded.get(i)\n#\t \tif value \u003d\u003d None:\n#\t \t\tvalues.append(5)\n#\t \telse:\n#\t \t\tvalues.append(value)\n#\t zipped_list \u003d zip(values, devices)\n#\t devices_sorted \u003d [y for x,y in sorted(zipped_list)]\n#\t for i,j in enumerate(devices_sorted):\n#\t try:\n#\t \tself.getChild(\"FlexRepeater\").props.instances[i].tagProps[0] \u003d j\n#\t except:\n#\t \tsystem.perspective.print(i)" } } }, "props": { "direction": "column" }, "type": "ia.container.flex" } }