{ "version": 1, "header_image": "", "allow_edit": false, "plugins": [], "panes": [ { "width": 1, "row": { "1": 1, "2": 1, "3": 1, "4": 1, "5": 1, "6": 1 }, "col": { "1": 1, "2": 1, "3": 1, "4": 1, "5": 1, "6": 1 }, "col_width": 6, "widgets": [ { "type": "html", "settings": { "html": "let clock = datasources[\"Clock\"][\"numeric_value\"]; // trick to trigger the update\nlet cols = document.getElementsByClassName('gs_w')[0].getAttribute('data-sizex');\ndocument.getElementsByClassName('gs_w')[0].firstElementChild.firstElementChild.innerHTML = \"\";\n\nvar title = \"\";\nif (datasources[\"gwhealth\"][\"gwstatus\"] == \"OK\") {\n\ttitle = \"Public Operations Screen\"; // Change this title. Try not to exceed the 30 chars\n}\nif (datasources[\"gwhealth\"][\"gwstatus\"] == \"KO\") {\n\ttitle = \"Public Operations Screen [Offline]\"; // Change this title. Try not to exceed the 30 chars\n}\n\nlet fontsize = Math.round((-0.66486486*title.length+66.67567568)*cols/4);\nlet lmargin = Math.round((0.43918919*title.length-4.05405405)+3.75*cols*cols-34.75*cols+79.75);\nlet width = 100-lmargin;\n\nvar text = `<div style=\\\"position: relative; margin-top: -15px; text-align: left;\\\">\n\t\t\t<div style=\\\"position: relative;\\\">\n\t\t\t\t<img src=\\\"../img/ess-logo.svg\\\" title=\\\"Designed by Emanuele Laface with p4p and Freeboard. Graphics by Dirk Nordt.\\\"></img>\n\t\t\t</div>\n<div class=\\\"tw-value\\\" style=\\\"font-size: `+String(fontsize)+`px; color:#ffffff !important; position: absolute; left: `+String(lmargin)+`%; width: `+String(width)+`%; height: 100%; justify-content: center; display: flex; align-items: center;\\\" title=\\\"Designed by Emanuele Laface with p4p and Freeboard. Graphics by Dirk Nordt.\\\">\n\t\t\t\t`+title+`\n\t\t\t</div>\n\t\t</div>`;\n\nif (cols == 1){\n text = \"<div style=\\\"position: static; margin-top: -15px;\\\"><img src=\\\"../img/ess-logo.svg\\\" title=\\\"Designed by Emanuele Laface with p4p and Freeboard. Graphics by Dirk Nordt.\\\"><div class=\\\"tw-value\\\" style=\\\"font-size: 30px; color:#ffffff !important; position: relative; bottom: 55px; left: 30px;\\\" title=\\\"Designed by Emanuele Laface with p4p and Freeboard. Graphics by Dirk Nordt.\\\"></div></img></div>\";\n document.getElementsByClassName('gs_w')[0].firstElementChild.firstElementChild.innerHTML = title;\n}\n\nreturn text;", "height": 2 } } ] }, { "width": 1, "row": { "1": 7, "2": 7, "3": 7, "4": 7, "5": 7, "7": 7, "14": 7 }, "col": { "1": 1, "2": 1, "3": 1, "4": 1, "5": 1, "7": 1, "14": 1 }, "col_width": 6, "widgets": [ { "type": "html", "settings": { "html": "<center><h1>Cooldown</h1></center>", "height": 1 } } ] }, { "title": "SCL Temperature", "width": 1, "row": { "1": 11, "2": 11, "3": 11, "4": 11, "5": 11, "6": 7, "7": 17, "9": 17, "11": 17, "14": 17 }, "col": { "1": 1, "2": 1, "3": 1, "4": 1, "5": 1, "6": 1, "7": 1, "9": 1, "11": 1, "14": 1 }, "col_width": 6, "widgets": [ { "type": "flot_extended_plugin", "settings": { "plot_type": "bar", "legend": true, "height": 8, "value": "let spokeTemperatures = [[1, datasources[\"Temperature\"][\"Spk-010Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[2, datasources[\"Temperature\"][\"Spk-020Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[3, datasources[\"Temperature\"][\"Spk-030Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[4, datasources[\"Temperature\"][\"Spk-040Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[5, datasources[\"Temperature\"][\"Spk-050Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[6, datasources[\"Temperature\"][\"Spk-060Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[7, datasources[\"Temperature\"][\"Spk-070Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[8, datasources[\"Temperature\"][\"Spk-080Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[9, datasources[\"Temperature\"][\"Spk-090Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[10, datasources[\"Temperature\"][\"Spk-100Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[11, datasources[\"Temperature\"][\"Spk-110Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[12, datasources[\"Temperature\"][\"Spk-120Crm:Cryo-TT-004:MeasValue\"][\"value\"]],\n[13, datasources[\"Temperature\"][\"Spk-130Crm:Cryo-TT-004:MeasValue\"][\"value\"]]];\n\nlet mediumBetaTemperatures = [[14, datasources[\"Temperature\"][\"MBL-010Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[15, datasources[\"Temperature\"][\"MBL-020Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[16, datasources[\"Temperature\"][\"MBL-030Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[17, datasources[\"Temperature\"][\"MBL-040Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[18, datasources[\"Temperature\"][\"MBL-050Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[19, datasources[\"Temperature\"][\"MBL-060Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[20, datasources[\"Temperature\"][\"MBL-070Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[21, datasources[\"Temperature\"][\"MBL-080Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[22, datasources[\"Temperature\"][\"MBL-090Crm:Cryo-TT-019:MeasValue\"][\"value\"]]];\n\nlet highBetaTemperatures = [[23, datasources[\"Temperature\"][\"HBL-010Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[24, datasources[\"Temperature\"][\"HBL-020Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[25, datasources[\"Temperature\"][\"HBL-030Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[26, datasources[\"Temperature\"][\"HBL-040Crm:Cryo-TT-019:MeasValue\"][\"value\"]],\n[27, datasources[\"Temperature\"][\"HBL-050Crm:Cryo-TT-019:MeasValue\"][\"value\"]]];\n\n/*\nvar outerSpace=[];\nfor (i=1; i<=27; i+=1) {\n outerSpace.push([i,2.726]);\n}\n\nlet data = [{data: spokeTemperatures, color: \"lime\", label:\"Spokes\"},\n {data: mediumBetaTemperatures, color: \"yellow\", label:\"Medium β\"},\n {data: highBetaTemperatures, color: \"navy\", label:\"High β\"},\n {data: outerSpace, color: \"black\", label:\"Outer Space\"}];\n*/\nlet data = [{data: spokeTemperatures, color: \"lime\", label:\"Spokes\"},\n {data: mediumBetaTemperatures, color: \"yellow\", label:\"Medium β\"},\n {data: highBetaTemperatures, color: \"navy\", label:\"High β\"}];\n\nreturn data;\n", "xticks": "let clock = datasources[\"Clock\"][\"numeric_value\"]; // trick to trigger the update\nlet cols = document.getElementsByClassName('gs_w')[0].getAttribute('data-sizex');\n\nvar xticks = [[1, \"01 <br><center>← Source</center>\"],\n [2, \"02\"],\n [3, \"03\"],\n [4, \"04\"],\n [5, \"05\"],\n [6, \"06\"],\n [7, \"07\"],\n [8, \"08\"],\n [9, \"09\"],\n [10, \"10\"],\n [11, \"11\"],\n [12, \"12\"],\n [13, \"13\"],\n [14, \"01\"],\n [15, \"02\"],\n [16, \"03\"],\n [17, \"04\"],\n [18, \"05\"],\n [19, \"06\"],\n [20, \"07\"],\n [21, \"08\"],\n [22, \"09\"],\n [23, \"01\"],\n [24, \"02\"],\n [25, \"03\"],\n [26, \"04\"],\n [27, \"05<br><center>Target →</center>\"]];\n\nif (cols == 1) {\n\nvar xticks = [[1, \"1\"],\n [2, \"2\"],\n [3, \"3\"],\n [4, \"4\"],\n [5, \"5\"],\n [6, \"6\"],\n [7, \"7\"],\n [8, \"8\"],\n [9, \"9\"],\n [10, \"1<br>0\"],\n [11, \"1<br>1\"],\n [12, \"1<br>2\"],\n [13, \"1<br>3\"],\n [14, \"1\"],\n [15, \"2\"],\n [16, \"3\"],\n [17, \"4\"],\n [18, \"5\"],\n [19, \"6\"],\n [20, \"7\"],\n [21, \"8\"],\n [22, \"9\"],\n [23, \"1\"],\n [24, \"2\"],\n [25, \"3\"],\n [26, \"4\"],\n [27, \"5\"]];\n}\n\nreturn xticks;", "yticks": "let maxtemp = Math.max(datasources[\"Temperature\"][\"Spk-010Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-020Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-030Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-040Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-050Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-060Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-070Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-080Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-090Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-100Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-110Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-120Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"Spk-130Crm:Cryo-TT-004:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-010Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-020Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-030Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-040Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-050Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-060Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-070Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-080Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"MBL-090Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"HBL-010Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"HBL-020Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"HBL-030Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"HBL-040Crm:Cryo-TT-019:MeasValue\"][\"value\"],\ndatasources[\"Temperature\"][\"HBL-050Crm:Cryo-TT-019:MeasValue\"][\"value\"]);\n \nlet step=maxtemp/10;\n \nvar yticks=[];\nfor (i=0; i<=maxtemp+step; i+=step) {\n yticks.push([i,i.toFixed(1).toString()]);\n}\n\nyticks[yticks.length-1] = [yticks[yticks.length-1][0],\"T [K]\"]; \n\nreturn yticks;\n", "points": false, "zoom": "xy" } } ] } ], "datasources": [ { "name": "Clock", "type": "clock", "settings": { "refresh": 1, "name": "Clock" } }, { "name": "Temperature", "type": "JSON", "settings": { "url": "/data/api/v2/pvget/Spk-010Crm:Cryo-TT-004:MeasValue,Spk-020Crm:Cryo-TT-004:MeasValue,Spk-030Crm:Cryo-TT-004:MeasValue,Spk-040Crm:Cryo-TT-004:MeasValue,Spk-050Crm:Cryo-TT-004:MeasValue,Spk-060Crm:Cryo-TT-004:MeasValue,Spk-070Crm:Cryo-TT-004:MeasValue,Spk-080Crm:Cryo-TT-004:MeasValue,Spk-090Crm:Cryo-TT-004:MeasValue,Spk-100Crm:Cryo-TT-004:MeasValue,Spk-110Crm:Cryo-TT-004:MeasValue,Spk-120Crm:Cryo-TT-004:MeasValue,Spk-130Crm:Cryo-TT-004:MeasValue,MBL-010Crm:Cryo-TT-019:MeasValue,MBL-020Crm:Cryo-TT-019:MeasValue,MBL-030Crm:Cryo-TT-019:MeasValue,MBL-040Crm:Cryo-TT-019:MeasValue,MBL-050Crm:Cryo-TT-019:MeasValue,MBL-060Crm:Cryo-TT-019:MeasValue,MBL-070Crm:Cryo-TT-019:MeasValue,MBL-080Crm:Cryo-TT-019:MeasValue,MBL-090Crm:Cryo-TT-019:MeasValue,HBL-010Crm:Cryo-TT-019:MeasValue,HBL-020Crm:Cryo-TT-019:MeasValue,HBL-030Crm:Cryo-TT-019:MeasValue,HBL-040Crm:Cryo-TT-019:MeasValue,HBL-050Crm:Cryo-TT-019:MeasValue", "use_thingproxy": true, "refresh": 10, "method": "GET", "name": "Temperature" } }, { "name": "gwhealth", "type": "JSON", "settings": { "url": "/data/-/gwhealth/NSO:Ops:SID", "use_thingproxy": true, "refresh": 10, "method": "GET" } } ], "columns": 6 }